The present invention relates to the field of software applications generally, and specifically to the implementation of financial applications. Financial models are widely used in businesses to evaluate business transactions, project feasibility, management decisions, and potential sales or purchases. A spreadsheet software application is often used to create financial models. A spreadsheet software application is an accounting or bookkeeping program that displays data in rows and columns of cells on a screen. Users can manipulate numerical and string data values stored in each cell. The value in a cell can also be calculated from a formula assigned to the cell. A cell's formula may depend on other cells' values and will be recalculated automatically whenever a value on which it depends changes.
The set of cells forming the financial model is referred to as a workbook. To simplify the appearance and use of a financial model, a workbook may be organized into one or more worksheets having a set of related cells. Each worksheet presents users with a view of related cells from the financial model. Users can view different worksheets in a workbook separately or simultaneously. Additionally, cells may be displayed with different formatting attributes, including fonts, headings, colors, screen positions, and numerical formats. Charts, graphs, and other visual aids can also be created from one or more cell values and included with the workbook.
Spreadsheet applications are relatively simple to learn and are widely used by businesspeople for a variety of applications. For example, a project manager can use a spreadsheet application to create a return on investment (ROI) model showing the benefits of a company's product. The company's sales force can use the ROI model to create a personalized assessment of the benefits of the product for their potential customers.
One problem with this approach is that the model designer, for example the project manager, must distribute the workbook with the financial model to the model users, for example the sales force. This distribution is time-consuming and error-prone, often leaving some model users with out of date financial models. Additionally, each model user must have a copy of the spreadsheet application to access the financial model. With a large number of model users, the costs for spreadsheet applications can be enormous.
Furthermore, a complicated financial model may be difficult to use for model users, especially when model users do not understand the intricacies of the financial model. A model user may forget to enter some necessary data, resulting in incomplete or incorrect analysis. Moreover, although the financial model may create some visual aids, such as charts or graphs, associated with its analysis, a spreadsheet application does not produce high-quality, professional presentation materials personalized for each model user's data.
Additionally, the data entered by model users cannot be easily collected and aggregated. This deprives managers of the benefits of analyzing the data collected by model users. For example, if the data entered by the sales force into a financial model could be easily analyzed, managers could monitor the performance of the sales force and could easily identify emerging needs of customers and weaknesses in their product line. The model designers could also evaluate the effectiveness of the financial model and determine where changes or improvements could be made. Spreadsheet applications cannot easily collect and aggregate data from model users, making it difficult for managers and model designers to analyze model data.
A prior approach to these problems is to convert the financial model created in a spreadsheet application into a web-based application. A web-based application allows model users to access the financial model through a web site. Because all model users access the financial model through the web site, when the web site is updated with a new financial model, the new financial model is automatically distributed to model users. Additionally, model users can operate the financial model through an inexpensive web browser application, rather than a spreadsheet application, significantly decreasing the costs associated with a large number of model users.
Further, a web-based application can guide model users through the data entry process. This ensures that model users enter all necessary data into the financial model and prevents erroneous results from incomplete or incorrect data. For example, a web-based application can guide a model user through the data entry process using a wizard, which is sequence of screens or dialog boxes that prompt the model user to enter the required data for the model. A model user can move forward or backward through the sequence of dialog boxes to add or modify data for the model. The wizard can also verify that the data values entered by a model user are correct.
Following entry of the model data, the web-based application can generate a high-quality presentation or report from the results of the financial model. A report provides a personalized summary of the results of the financial model for a specific set of model input values. A report may also include additional marketing content selected according to the value of the model data or the output of the financial model. For example, a sales force can use a ROI web application to create a personalized assessment of the benefits of the product for their potential customers.
Additionally, the web-based application can be integrated with a database. As model users enter model data into the web-based application, the database stores the model data. The database can store model data collected from each model user. Managers and model designers can analyze the model data stored in the database.
The web-based implementation of a financial model offers many advantages over its spreadsheet application counterpart; however, web-based applications are often difficult and time-consuming to develop. Web-based applications often require programming in a complicated programming languages such as Java™. Although most business people can develop financial models in a spreadsheet application with little or no specialized training, implementing a financial model as a web-based application often requires the assistance of one or more computer programmers. This results in increased time and resources needed to develop a web-based financial model over a spreadsheet application implementation. The development of web-based financial models is further complicated by the fact that often programmers do not understand the intricacies of the financial model, leading to mistakes in the web-based implementation that need to be corrected. Furthermore, because the financial model is “hard-wired” in the web-based application, it is difficult for model designers to make updates or improvements to the model.
It is desirable to develop a system for quickly and efficiently creating web applications implementing models without the need for specialized programming expertise and using software applications familiar to business people. Further, the resulting model should be able to be rapidly and inexpensively distributed to model users, to provide guided data entry to users, to produce high-quality presentations or reports from the results of the financial model, and to store model data values for analysis by managers and model designers.